Method and arrangement relating to radio signal transmissions

ABSTRACT

The present invention aims to provide a method for fast and exact ML low-complexity demodulation in for example MIMO systems. The present invention relates to a method and arrangement for processing signals, especially a Maximum Likelihood (ML) demodulation of Quadrature Amplitude Modulation (QAM) signals, in a digital communications system, having a number of transmit antennas transmitting n T  symbols, the method comprises the steps of: using x m , denoting symbols transmitted, wherein m=1 . . . n T , given a channel, selecting i and j and making pre-calculations facilitating finding a best combination of X l  . . . X i−1 , X i+1  . . . X j−1 , X j+1  . . . X nT  for any given X i , X j  and a received signal, going through every combination X 1  . . . X i−1 , X i+1  . . . X j−1 , X j+1  . . . X nT  and projecting in a number of directions for each of said combinations and generating a list of candidate combinations of X i  and X j  for each combination X 1  . . . X i−1 , X i+1  . . . X j−1 , X j+1  . . . X nT , and hence generating a list of candidate combinations X 1  . . . X nT , and providing a maximum-likelihood symbol combination.

TECHNICAL FIELD

The present invention relates to a method and arrangement for processingsignals, especially a Maximum Likelihood (ML) demodulation of QuadratureAmplitude Modulation (QAM) signals, in a digital communications system.

BACKGROUND OF THE INVENTION

The existing wireless mobile communication systems provide several typesof services and mostly depend on channel coding to overcome anyinferiority of channels. However, due to the increasing demands, forexample for a high-quality multimedia services, in which users cancommunicate with anyone regardless of time and place, the existingservices have evolved data-oriented services. Accordingly, there is ahigh demand for next generation wireless transmission technology fortransmitting the larger amount of data at a lower error rate. Inparticular, it is very important to transmit data at a high rate in alink in which the amount of required data is large.

For the next generation wireless communication, various antenna systemshave been proposed. For example, a MIMO system, i.e., a typical antennasystem, increases spectrum efficiency through all of transmissionantennas without excessive use of a frequency bandwidth. Generally, MIMOis classified into Space-Time Coding (STC), Diversity, Beam Forming(BF), and Spatial Multiplexing (SM) according to the transmissionstructure and scheme of a transmitter, all of which provide high datarate and reliability.

A MIMO system adopts multiple antennas or array antenna totransmit/receive data in the transmitter and receiver. Multiple antennasare provided in different spatial positions, with different fadingfeatures, thus the received signals of adjacent antennas can beapproximated as uncorrelated entirely as long as the spacing betweenadjacent antennas for transmitting/receiving signals in the MIMO systemis large enough. The MIMO system takes full advantage of the spatialcharacteristics of multipath for implementing space diversitytransmission and reception.

FIG. 1 illustrates an exemplary and simplified MIMO system 100constructed by M Tx antennas 103 and N Rx antennas 104. As mentionedearlier, the antenna spacing between the Tx antennas and Rx antennas inthe MIMO system in FIG. 1 is generally big enough, to guarantee thespatial un-correlation of signals. As FIG. 1 shows, in the transmitter,MIMO architecture unit 101 first transforms a channel of data streaminto M channels of parallel sub data streams; then, multiple accesstransform unit 102 performs multiplex processing; finally, thecorresponding M Tx antennas 103 transmit the signal simultaneously intothe wireless channels. The MIMO architecture unit 101 can adopt any oneof the MIMO processing methods, such as STTC (Space Time Trellis Code),space-time block code, space-time Turbo code, BLAST code and etc. Whilemultiple access transform unit 102 can implements TDD, FDD or CDMA.Efficient demodulation of MIMO is non-trivial and currently a hotresearch topic.

Existing maximum-likelihood detection methods for MIMO are in generalhighly computationally complex. Much effort has therefore been focusedon finding reduced-complexity MIMO demodulation techniques that stillgive close to optimal performance.

One example of a low-complexity method is Interference Rejection Combing(IRC), which gives good performance at low SNR, but falls well below anoptimal demodulator at higher SNRs, closer to the saturation region ofthe modulation scheme. Other techniques, like sphere decoding (SD), areexact and very fast at high SNR, but extremely complex at low SNRs, atleast if configured to give reasonably good performance, since thecomplexity is then exponential in the problem size, see for exampleJoakim Jaldén, “On the Complexity of Sphere Decoding in DigitalCommunications”, IEEE Transactions on Signal Processing, April 2005.Also, SD in its basic form generates only hard bits, and soft valuegeneration is complex or relies on ad hoc methods.

Another method, so-called m-algorithm has complexity that is not verydependent on SNR, and shows performance close to an optimal demodulatorwith substantially lower complexity. However, fairly many retained pathsare needed for reaching this performance, making its complexity stillrather high. Like the SD, the m-algorithm also relies on ad hoc methodsfor soft value generation. An approach towards low-complexity exact MLhas been proposed in Toshiaki Koike, Daisuke Nishikawa, and SusumuYoshida, “Metric-segmented Low-complexity ML Detection forSpectrum-efficient Multiple-antenna Systems”, VTC 2005 Fall, but alsothis method only provides hard bits.

EP 1422896 relates to a method of decoding a communications signal in adigital communications system. The communications signal is modulatedaccording to a modulation scheme, such as 16-QAM, including amplitudeinformation. The method comprises the steps of generating a likelihoodvalue for a received communications signal; decoding the communicationssignal based on at least the generated likelihood value. The methodfurther comprises providing a reliability indication of the amplitudeinformation conveyed by the received communications signal; andgenerating the likelihood value on the basis of the provided reliabilityindication of the amplitude information.

SUMMARY OF THE INVENTION

One advantage of the present invention is that it provides a novelmethod comprising a set of instructions to be applied on a computer, andhas low computational complexity while still yielding the exactmaximum-likelihood solution and exact LOGMAX soft values for QAMsignals.

Preferably, the set of instructions has substantially lower complexitythan any other prior art true LOGMAX algorithm for MIMO. The complexityis comparable to or even lower than for many other low-complexity butsuboptimal algorithms.

These advantages are achieved by a method for processing signals,especially a Maximum Likelihood (ML) demodulation of QuadratureAmplitude Modulation (QAM) signals, in a digital communications system,having a number of transmit antennas transmitting n_(T) symbols. Themethod comprises: using x_(m), denoting symbols transmitted, wherein m=1. . . n_(T), given a channel, selecting i and j and makingpre-calculations facilitating finding a best combination of x₁ . . .x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1). . . x_(n) _(T) for any givenx_(i), x_(j) and a received signal, going through every combination x₁ .. . x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n) _(T) andprojecting in a number of directions for each of said combinations andgenerating a list of candidate combinations of x_(i) and x_(j) for eachcombination x₁ . . . x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n)_(T) , and hence generating a list of candidate combinations x₁ . . .x_(n) _(T) , and providing a maximum-likelihood symbol combination. Themethod may further comprise the step of calculating and comparingmetrics of the candidate combinations x₁ . . . x_(n) _(T) . The methodmay further comprise finding soft values for every bit in x₁ . . . x_(n)_(T−1) , a best sequence with a bit equal to 0 and a best sequence witha bit equal to 1, both in the list.

Preferably a list of L^(n) ^(T) ⁻² candidate combinations are generated,wherein, L is a number of symbols in a symbol alphabet.

The method may reduce computation for computing hard output bits andfurther comprise the steps of repeating steps for other i and j pairs,for each pair generating a list of candidate combinations x₁ . . . x_(n)_(T) , selecting candidate combinations that exist in said lists, andcalculating and comparing metrics for said selected candidatecombinations.

According to a preferred embodiment a method for processing signals isprovided, especially a Maximum Likelihood (ML) demodulation ofQuadrature Amplitude Modulation (QAM) signals, in a digitalcommunications system transmitting 4 symbols. The method comprises:using x₁, x₂, x₃, x₄ denoting symbols transmitted, given a channel,selecting two i and j, wherein i=1 . . . 4, j=1 . . . 4 and i≠j, andmaking pre-calculations facilitating finding a best combination ofsymbols transmitted for any given x_(i) and x_(j) and a received signal,going through every combination of symbols transmitted and projecting ina number of directions for each of said combinations and generating alist of candidate combinations of symbols for each combination oftransmitted symbols, and hence generating a list of candidatecombinations x₁, x₂, x₃, x₄, calculating and comparing metrics of thecandidate combinations x₁, x₂, x₃, x₄, and providing amaximum-likelihood symbol combination.

The invention also relates to an network node arrangement for processingsignals, especially a Maximum Likelihood (ML) demodulation of QuadratureAmplitude Modulation (QAM) signals, connectable to a number of antennastransmitting n_(T) symbols, wherein x_(m), denotes symbols transmitted,wherein m=1 . . . n_(T). The arrangement comprises: a computationarrangement for making pre-calculations facilitating finding a bestcombination x₁ . . . x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n)_(T) for any given x_(i), x_(j) and a received signal, processing meansfor analyzing every combination x₁ . . . x_(i−1), x_(i+1) . . . x_(j−1),x_(j+1) . . . x_(n) _(T) and making projections in a number ofdirections for each of said combinations and generating a list ofcandidate combinations of x_(i) and x_(j) for each combination x₁ . . .x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n) _(T) , andgenerating a list of candidate combinations x₁ . . . x_(n) _(T) ,storing means for storing said lists and means for calculating andcomparing metrics of the candidate combinations x₁ . . . x_(n) _(T) , anarrangement for providing a maximum-likelihood symbol combination. Thenetwork may comprise one of MIMO, MISO or SIMO antenna array.

According to one aspect of the invention a computer program product isprovided for processing signals, especially a Maximum Likelihood (ML)demodulation of Quadrature Amplitude Modulation (QAM) signals, having anumber of transmit antennas transmitting n_(T) symbols and x_(m),denotes symbols transmitted, wherein m=1 . . . n_(T). The productcomprises: a set of instructions for executing pre-calculationsfacilitating finding a best combination of x₁ . . . x_(i−1), x_(i+1) . .. x_(j−1), x_(j+1) . . . x_(n) _(T) for any given x_(i), x_(j) and areceived signal, a set of instructions for analyzing every combinationx₁ . . . x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n) _(T) andmaking projections in a number of directions for each of saidcombinations and generating a list of candidate combinations of x_(i)and x_(j) for each combination x₁ . . . x_(i−1), x_(i+1) . . . x_(j−1),x_(j+1) . . . x_(n) _(T) , and generating a list of candidatecombinations x₁ . . . x_(m) _(T) , a set of instructions for calculatingand comparing metrics of the candidate combinations x₁ . . . x_(n) _(T), and providing a maximum-likelihood symbol combination.

According to one aspect of the invention a user equipment is providedcomprising means for processing signals, especially a Maximum Likelihood(ML) demodulation of Quadrature Amplitude Modulation (QAM) signals,connectable to a number of antennas (610) for transmitting nT symbols,wherein x_(m), denotes symbols transmitted, wherein m=1 . . . n_(T). Themeans comprises: a computation arrangement for making pre-calculationsfacilitating finding a best combination of x₁ . . . x_(i−1), x_(i+1) . .. x_(j−1), x_(j+1) . . . x_(n) _(T) for any given x_(i), x_(j) and areceived signal, processing means for analyzing every combination x₁ . .. x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n) _(T) and makingprojections in a number of directions for each of said combinations andgenerating a list of candidate combinations of x_(i) and x_(j) for eachcombination x₁ . . . x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n)_(T) , and generating a list of candidate combinations x₁ . . . x_(n)_(T) , storing means for storing said lists and means for calculatingand comparing metrics of the candidate combinations x₁ . . . x_(n) _(T), an arrangement for providing a maximum-likelihood symbol combination.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following, the invention will be exemplified with reference tonumber of embodiments, as illustrated in the drawings, in which:

FIG. 1 is a schematic diagram of a MIMO system,

FIG. 2 is a schematic illustration outlining the principle fordetermining and using a function f according to the invention,

FIGS. 3 a-3 c are examples of symbol constellations, which can beefficiently handled by the method of the invention,

FIG. 4 is a flow diagram illustrating the steps according to theinvention,

FIG. 5 is a block diagram illustrating an arrangement implementing theinvention, and

FIG. 6 is a block diagram illustrating a user unit implementing theinvention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The invention relates to a method for exact ML low-complexity in systemscomprising a number of transmit antennas and a number of receiveantennas for parallel spatially (independent) transmission andreception, and preferably MIMO systems for demodulation of QuadratureAmplitude Modulation (QAM) signals, with exact LOGMAX soft-valuegeneration, at comparatively low computational complexity.

The method of the invention may in principle be used for any number ofantenna branches; however, it is particularly suited for 4×4 MIMObecause of good balance between relative complexity reduction and memoryrequirements. Thus, the invention is described with reference to anexample comprising four transmitter and receiver antennas. Otherdimensions will also be discussed.

In brief, the method is as follows: Let x₁, x₂, x₃, and x₄ denote thetransmitted symbols on the four respective transmit antennas, and letthe symbol alphabet contain L symbols. Given a channel, it is shown thatit is possible to make pre-calculations once for their channel, whichenable finding extremely quickly the best (lowest-metric) combination x₁and x₂ for any given x₃ and x₄. This is achieved through a method basedon projections in different directions. By going through all x₃ and x₄(in total L² combinations), a list of L² candidate combinations of x₁and x₂ (one for each combination of x₃ and x₄) can thus be collected atlow computational complexity. By calculating and comparing the metricsof these L² candidate combinations of x₁, x₂, x₃, and x₄, themaximum-likelihood symbol combination can be found. Further, since forevery bit in x₃ and x₄, the best sequence with that bit equal to 0 andthe best sequence with that bit equal to 1 are both in the list, LOGMAXsoft values for each bit in x₃ and x₄ can easily be found. By re-runningthe entire procedure with x₁ and x₂ interchanged with x₃ and x₄, softvalues can be found also for all bits in x₁ and x₂.

Consequently, in total only in the order of 2L² metrics need to becalculated, which should be compared with L⁴ metrics for a brute-forcemethod. If only hard bits are required, the method according to theinvention can be even further simplified and the number of metrics thatneed to be computed may further be reduced by orders of magnitude asexemplified in the description.

Usually, a MIMO antenna system with n_(R) receive and n_(T) transmitantennas operating in a frequency non-selective channel is described bythe following matrix representation:

y=Hx+w

Wherein y is the n_(R)×1 received complex signal vector, H is then_(R)×n_(T) MIMO channel response, w is the independent and identicallydistributed elements Additive White Gaussian Noise (AWGN) at thereceiver with individual variance of σ² _(z) and x is the n_(T)×1transmitted complex signal vector with a certain power constraint. Forsimplicity we assume that n_(T)=n_(R)=M in the following description.

Then

${x = \begin{bmatrix}x_{1} \\\vdots \\x_{M}\end{bmatrix}},{y = \begin{bmatrix}y_{1} \\\vdots \\y_{M}\end{bmatrix}},{w = \begin{bmatrix}w_{1} \\\vdots \\w_{M}\end{bmatrix}},$

where according to this example M=4 is the number of transmit andreceive antennas (same number for simplicity). The MIMOmaximum-likelihood (ML) demodulation problem for hard bits can then bestated as finding

${\hat{x} = {\underset{x \in X^{M}}{\arg \; \min}{{y - {Hx}}}^{2}}},$

where X is the set of all symbols in the symbol alphabet and X^(M) isthe set of all vector symbols. Using Cholesky factorization and a QRdecomposition or a second Cholesky factorization, the problem can betransformed into finding

$\begin{matrix}{{\hat{x} = {\underset{x \in X^{M}}{\arg \; \min}{{R\left( {x - \overset{\sim}{x}} \right)}^{\prime}}^{2}}},} & (1)\end{matrix}$

where R is an upper-triangular matrix and {tilde over (x)} is theunconstrained least-squares estimate of x.

It should be appreciated by a person skilled in the art that wide rangeof MIMO configurations, including those using any linear dispersion codeand different number of transmit and receive antennas, can betransformed into the form according to the present invention.

The generation of LOGMAX soft bits will be discussed further below.

By writing

$\begin{matrix}{{R = \begin{bmatrix}R_{11} & R_{12} \\R_{21} & R_{22}\end{bmatrix}},{x = \begin{bmatrix}x_{1} \\x_{2}\end{bmatrix}},{\overset{\sim}{x} = \begin{bmatrix}{\overset{\sim}{x}}_{1} \\{\overset{\sim}{x}}_{2}\end{bmatrix}},} & \;\end{matrix}$

where R₁₁, R₁₂, R₂₁ and R₂₂ are 2×2 matrices (R₂₁ all zeros), and whereand x₁, x₂, {tilde over (x)}₁ and {tilde over (x)}₂ are 2-element columnvectors,

${x_{1} = \begin{bmatrix}x_{1} \\x_{2}\end{bmatrix}},{{\overset{\sim}{x}}_{2} = \begin{bmatrix}{\overset{\sim}{x}}_{1} \\{\overset{\sim}{x}}_{2}\end{bmatrix}},$

the problem in Equation (1) can be rephrased as

$\begin{matrix}{{\left( {{\hat{x}}_{1},{\hat{x}}_{2}} \right) = {\underset{{({x_{1},x_{2}})} \in {({X^{M/2},X^{M/2}})}}{\arg \; \min}\begin{pmatrix}{{{R_{11}x_{1}} + \underset{\underset{- v}{}}{{{{R_{12}x_{2}} - {R_{21}{\overset{\sim}{x}}_{1}} - {R_{22}{\overset{\sim}{x}}_{2}}}}^{2}} +}} \\{{R_{22}\left( {x_{2} - {\overset{\sim}{x}}_{2}} \right)}}^{2}\end{pmatrix}}},} & (2)\end{matrix}$

For a given x₂, i.e. a given v as defined in Equation (2), the problemnow consists in finding

${\hat{x}}_{1} = {\underset{x_{1} \in X}{\arg \; \min}{{{{R_{11}x_{1}} - v}}^{2}.}}$

The following is devoted to description of how a function ƒ_(R) ₁₁ thatcomputes {circumflex over (x)}₁ from v, i.e.

{circumflex over (x)} ₁=ƒ_(R) ₁₁ (v),

may be found and evaluated many times with low computational complexity.This approach also enables easy generation of LOGMAX soft decisionvalues, since if the function ƒ_(R) ₁₁ (v) is evaluated for each v,information about the best bit sequence (x₁,x₂) given that a certain bitin x₂ has a certain value (0 or 1) is available and the log-likelihoodratios can be directly calculated.

In the following, the principle of finding ƒ_(R) ₁₁ (v) for one specialcase of 16 QAM and a detailed description for a more general case areprovided.

The basic principle is first illustrated in the following before turningto the full description.

FIG. 2 illustrates method of the invention for the special case of 16QAM. In FIG. 2, the values of R₁₁x₁ for all possible 16×16 values of x₁are illustrated as dots 21. A small cross 22 represents v. In principle,R₁₁x₁ and v reside in a four-dimensional space, i.e. two complexnumbers, but for simplicity it is assumed that two coordinates areidentical for all dots and only the two remaining dimensions need to beillustrated. This simplifying assumption is, however, neither used inthe following reasoning, nor in the detailed description following it.

The problem to be solved is finding the dot closest to the cross. In thefollowing, it is described how a large number of dots can easily beruled out. The solid lines 23 divide the plane into four distinctregions. The lines are chosen to pass exactly halfway between the dots24 marked with solid large circles. By projecting the cross 22 onto thesolid line 25 transverse to lines 23, it is possible to determine withinwhich region the cross 22 is situated. Given which region, three out ofthe four dots marked with solid circles can be ruled out as candidatesfor closest dot. In the illustrated case, all dots with solid circlesexcept the third 26 from the left can be ruled out. Similarly, based onthe position of the cross between the dashed lines 27, all dots withdashed circles 28 except the third from the left 29 can be ruled out. Inthe same way, overall ¾ of all dots can be ruled out, and only 4×16=64dots remain as candidates. These dots 20 are marked with a narrowercircle. Note that although there are 64 dots, they only mark 16projections on the axis because of their regular structure.

A similar procedure can then be repeated in a perpendicular direction.This will also result in 64 remaining candidate dots, also identifiedthrough 16 projections. Furthermore, the intersection of the former64-dot set and the latter 64 dot-set contains 16 dots, and the dotclosest to the cross must belong to this intersection set. Theintersection set is completely characterized by the two sets of 16projections.

Then, the entire procedure may be repeated a second time, but now withlines parallel and perpendicular to the second transmit antennadimension, cf. FIG. 2. This will also result in a set of 16 candidatedots. The intersection between the former set of 16 dots, and thislatter set of 16 dots may in theory contain between 1 and 16 dots.However, simulations with fading channels have shown that it on averageis only about 1.2 dots for the considered case of 16 QAM; for 64 QAM itis about 1.5 and for 256 QAM about 1.5-2.

Using a brute force method, this approach would require approximately3×4×4×4 projections and comparisons for each of the two directions.However, the projections of all dots can be pre-calculated. Thepre-calculated table can contain a sorted list of all projections andfor each projection a list of the dots that are not ruled out for across being projected in the corresponding interval. This would thusrequire a table of in total 4×4×3 projections (floating point numbers)and 4×4×3×4×4=768 integers between 0 and 3. A function f can with suchpre-calculations be evaluated very quickly. Since f is to be evaluatedmany times for each channel realization, it turns out that the relativecomputational complexity from the pre-calculations is rather small.

For determining the function f the following unit vectors may bedefined:

${e_{1r} = \begin{bmatrix}1 \\0\end{bmatrix}},{e_{1i} = \begin{bmatrix}i \\0\end{bmatrix}},{e_{2r} = \begin{bmatrix}0 \\1\end{bmatrix}},{e_{2i} = \begin{bmatrix}0 \\i\end{bmatrix}}$

where i is an imaginary unit. Also the following is defined

${x_{1} = {\begin{bmatrix}{m_{1} + {n_{1}i}} \\{m_{2} + {n_{2}i}}\end{bmatrix}/\gamma}}\;,\; {x_{2} = {\begin{bmatrix}{m_{3} + {n_{3}i}} \\{m_{4} + {n_{4}i}}\end{bmatrix}/\gamma}}\;,$

where m_(j) and n_(j) may assume the integer values needed to constructthe symbols in the symbols alphabet, e.g. for 16 QAM, n_(j) may assumethe values −3, −1, +1, +3 and γ is a normalization factor that makes theaverage energy of the symbols in modulation alphabet equal to unity. Fornotational convenience m′_(j) and n′_(j), are further defined, whichassume the midpoints between the values assumed by m_(j) and n_(j). Forexample, for 16 QAM, m′_(j) assumes any of the values −2, 0, 2.

The projection of R₁₁x₁ on each of the vectors k_(1r), k_(1i), k_(2r),k_(2i), defined as

k _(1r) =R ₁₁ e _(1r) /∥R ₁₁ e _(1r)∥

k _(1i) =R ₁₁ e _(1i) /∥R ₁₁ e _(1i)∥

k _(2r) =R ₁₁ e _(2r) /∥R ₁₁ e _(2r)∥

k _(2i) =R ₁₁ e _(2i) /∥R ₁₁ e _(2i)∥,

is then calculated.

These vectors point in the direction indicated by the antenna real andimaginary axes shown in FIG. 2. In the projection process, the real andimaginary axes should be considered different directions in the vectorspace. This may be achieved by taking the real part of a projection ofthe complex conjugate:

p _(1r)(m′ ₁ ,m ₂ ,n ₂)=Re {(R ₁₁ x ₁)⁺ k _(1r) }=Re {x ₁ ⁺ R ₁₁ ⁺ k_(1r)}

p _(1i)(n′ ₁ ,m ₂ ,n ₂)=Re {x ₁ ⁺ R ₁₁ ⁺ k _(1i)}

p _(2r)(m ₁ ,n ₁ ,m′ ₂)=Re {x ₁ ⁺ R ₁₁ ⁺ k _(2r)}

p _(2i)(m ₁ ,n ₁ ,n′ ₂)=Re {x ₁ ⁺ R ₁₁ ⁺ k _(2i)}

for all m_(j), n_(j), m′_(j), n′_(j). Note that p_(1r) does not dependon n′₁ since k_(1r) is orthogonal to R₁₁·[n₁j 0]^(T), wherein T denotesvector transpose. Similarly p_(1i), p_(2r), p_(2i) do not depend on m′₁,n′₂ and m′₂, respectively.

Now, for a given vector v, for each combination of m₂ and n₂ possible m₁are found by projecting v on k_(1r) and comparing this (scalar) valuewith p_(1r)(m′₁,m₂,n₂) for each m′₁. Let m′_(1,k), k=1,2 . . . denotethe ordered sequence of all m′₁.

${{{If}\mspace{14mu} {p_{1r}\left( {m_{1,k}^{\prime},m_{2},n_{2}} \right)}} < {vk}_{1r} < {p_{1r}\left( {m_{1,{k + 1}}^{\prime},m_{2},n_{2}} \right)}},\mspace{14mu} {{{then}\mspace{14mu} {the}\mspace{14mu} {only}\mspace{14mu} {possible}\mspace{14mu} m_{1}\mspace{14mu} {is}\mspace{14mu} m_{1}} = {\frac{1}{2}{\left( {m_{1,k}^{\prime} + m_{1,{k + 1}}^{\prime}} \right).}}}$

A function that finds m₁ from m₂ and n₂ may be denoted g_(1r). Hence,the evaluation of the function g_(1r) requires a projection and a numberof comparison operations (log₂ 4 comparisons for 16 QAM). Similarly, thefunctions g_(1i), g_(2r), and g_(2i), are defined for calculating n₁,m₂, and n₂, respectively. Altogether, the following is obtained

m ₁ =g _(1r)(m ₂ ,n ₂),

n ₁ =g _(1i)(m ₂ ,n ₂),

m ₂ =g _(2r)(m ₁ ,n ₁),

n ₂ =g _(2i)(m ₁ ,n ₁).  (3)

Evaluating each g function for every possible input argument, a set of Lcandidates for m₁, L candidates for n₁, L candidates for m₂, and Lcandidates for n₂ are obtained. This set of candidates can be furtherreduced by requiring all four relations to hold simultaneously. Thepossible m₁ and n₁ are thus those that fulfill

m ₁ =g _(1r)(g _(2r)(m ₁ ,n ₁),g _(2i)(m ₁ ,n ₁))

n ₁ =g _(1i)(g _(2r)(m ₁ ,n ₁),g _(2i)(m ₁ ,n ₁))

for some m₁. From these m₁ and n₁ one may calculate candidate m₂ and n₂using Eq. (3). This, results in a small set of candidates, for which therespective metrics are calculated explicitly and the overall bestcandidate selected.

In the following the aforementioned procedure for computing f isdescribed for computationally efficient execution. Efficient calculationof the functions g_(1r) is considered first. Preferably, every possiblep_(1r) (i.e. for 16 QAM 3×4×4 values, one for each combination of m′₁,m₂,and n₂) is pre-calculated and sorted. For each value in this sortedlist, a list specifying the only possible m₁ for all L combinations ofm₂ and n₂ is pre-calculated. The function g_(1r) can then be evaluatedthrough a projection and a lookup in a table of (L−1)L² sorted items,which requires log₂ [(L−1)L²] comparison operations. Similar holds forthe other g functions.

Furthermore, the complexity of the projection operation can be greatlyreduced by pre-calculating the projections of all terms in v on k_(1r),k_(1i), k_(2r), and k_(2i). For example, the projection on k_(1r) can bere-written as

${{Re}\left\{ {\left( {{- R_{12}}x_{2}} \right)^{+}k_{1r}} \right\}} = {{{Re}\left\{ {\left( {R_{12}\begin{bmatrix}{m_{3} + {n_{3}i}} \\0\end{bmatrix}} \right)^{+}k_{1r}} \right\}} + {{Re}\begin{Bmatrix}{{\left( {R_{12}\begin{bmatrix}0 \\{m_{4} + {n_{4}i}}\end{bmatrix}} \right)^{+}k_{1r}} +} \\{{\left( {R_{21}{\overset{\sim}{x}}_{1}} \right)^{+}k_{1r}} +} \\{\left( {R_{22}{\overset{\sim}{x}}_{2}} \right)^{+}k_{1r}}\end{Bmatrix}}}$

and the L different values of the first term (one for each combinationof m₃ and n₃) and the L different values of the second termpre-calculated. The L² projections can then be accomplished by just onesummation per projection.

The entire computation of f then consists in the following operations:

-   -   1. Finding a pointer to the right place in a table where the        values of g_(1r), g_(1i), g_(2r), and g_(2i) are listed for all        L values of (m₂, n₂) and all L values (m₁,n₁), respectively,        requires for a given v only 4×1 additions and approximately 4        log₂ [L^((3/2))] comparison operations.    -   2. Once these table pointers are obtained, the final candidates        can be found through 2L comparison-for-equality operations of        small integers (log₂ L bits each).

It is noteworthy that although certain simple integer comparisonoperations are performed more than L² times, no operation is carried outin the order of L⁴ times as in a brute-force method.

In the above description, only QAM with fully regularconstellations—same spacing between all constellation points, both inreal direction and imaginary direction—has been considered. However, themethod works equally well for any QAM scheme. Some examples are shown inFIGS. 3 a-3 c. It should also be noted that different QAM schemes can beused simultaneously on the different antennas.

When only hard output bits are required, the number of metriccalculations can be further reduced. When iterating through allcombinations of x₃, and x₄, the metrics need not be calculated for eachcandidate x₁ and x₂. Instead, a small list of possible x₁ and x₂ isretained for each combination of x₃, and x₄. Similarly, when iteratingthrough all x₁ and x₂, lists of possible combinations x₃, and x₄ areretained. The overall most likely symbol combination x₁, x₂, x₃, and x₄must then be in both sets of lists. The symbol combinations that existin both sets of the list can be found in a manner similar to the oneused with the g functions. Explicit metrics, thus only need to becalculated for the symbol combinations that are in both lists, which inpractice typically turns out to be rather few (see Table 2 forexamples). Since the metric calculations dominate the complexity in thebasic form (soft value) of the method, this should lead to a substantialcomplexity reduction.

The invention may clearly be applied to other dimensions. For 3×3 MIMO,for example, the problem can be split into 2+1 dimensions, instead of2+2 dimensions for 4×4 MIMO, and for 5×5 MIMO into 2+3 dimensions.Similarly, the method can be used for higher dimensionalities.

Advantageously, the technique of the invention may be used to greatlyspeed up 2×2 MIMO demodulations in cases where multiple demodulationswith the same channel are to be made and only hard bits are needed. Thepre-calculations for the function f can then first be made once andsubsequently only the table lookup step is needed for each individualdemodulation.

The complexity of the proposed method is in Table 2 compared with thecomplexity of the normal brute-force LOGMAX algorithm and them-algorithm. The results for the method of the invention were obtainedthrough simulations and the numbers for the other methods were estimatedtheoretically.

The aforementioned examples for 4×4 MIMO antennas can be generalized forany number of transmit antennas transmitting nr symbols, as illustratedin the flow diagram of FIG. 4, by: (410) using x_(m), denoting symbolstransmitted, wherein m=1 . . . n_(T), (420) using a symbol alphabetcontaining L symbols, (430) given a channel, making pre-calculationsenabling finding a best combination of x₁ . . . x_(i−1), x_(i+1) . . .x_(j−1), x_(j+1) . . . x_(n) _(T) for any given x_(i), x_(j) and areceived signal, (440) going through x₁ . . . x_(i−1), x_(i+1) . . .x_(j−1), x_(j+1) . . . x_(n) _(T) and (450) projecting in differentdirections for each of them and (460) generating a list of L^(n) ^(T) ⁻²(not limited to) candidate combinations of x_(i) and x_(j), and (470)calculating and comparing metrics of L^(n) ^(T) ⁻² candidatecombinations of x_(i) and x_(j) and providing a maximum-likelihoodsymbol combination.

The invention may be implemented as a hardware or software solution.

The invention may be implemented in a network node which may comprise acomputer unit for processing signals. The network is assumed to have anumber of transmit antennas transmitting n_(T) symbols, and in whichx_(m), denotes symbols transmitted, wherein m=1 . . . n_(T). A symbolalphabet is assumed to contain L symbols. The computer unit 500, asillustrated schematically in FIG. 5, may comprise a calculation unit 510for making pre-calculations enabling finding a best combination of x₁ .. . x_(i−1), x_(i+1) . . . x_(j−1), x_(j+1) . . . x_(n) _(T) for anygiven x_(i), x_(j) and a received signal given a channel, a processingunit 520 for processing by going through x₁ . . . x_(i−1), x_(i+1) . . .x_(j−1), x_(j+1) . . . x_(n) _(T) stored in a memory 530 and projectingin different directions for each of them and generating a list ofcandidate combinations of x_(i) and x_(j), (which may be stored in samememory 530 or any other memory) and calculation arrangement 540 forcalculating and comparing metrics of candidate combinations of x_(i) andx_(j) and outputting means 550 for providing a maximum-likelihood symbolcombination. The processing and calculations units may be the same unit.

FIG. 6 illustrates in a schematic block diagram a user equipment (UE)600 implementing teachings of the present invention, wherein aprocessing unit 620 handles communication data and communication controlinformation. The UE 600 further comprises a volatile (e.g. RAM) 630and/or non volatile memory (e.g. a hard disk or flash disk) 640, aninterface unit 650. The UE 600 may further comprise a mobilecommunication unit 660 with a respective connecting interface. All unitsin the UE can communicate with each other directly or indirectly throughthe processing unit 670. Software for implementing the method accordingto the present invention may be executed within the UE 600. The UE 600may also comprise an interface 680 for communicating with anidentification unit, such as a SIM card, for uniquely identifying the UEin a network and for use in the identification of the ‘SIGN’ (i.e.traffic counting and digital signature of the UE). Other features oftenpresent in UE are not shown in FIG. 6 but should be understood by theperson skilled in the art, e.g. for a mobile phone: antennas 610,camera, replaceable memory, screen and buttons.

The invention is not limited to MIMO systems and may be implemented inany multiple transmit/receive systems such as SIMO, MISO etc.

It should be noted that the word “comprising” does not exclude thepresence of other elements or steps than those listed and the words “a”or “an” preceding an element do not exclude the presence of a pluralityof such elements. The invention can at least in part be implemented ineither software or hardware. It should further be noted that anyreference signs do not limit the scope of the claims, and that several“means”, “devices”, and “units” may be represented by the same item ofhardware.

The above mentioned and described embodiments are only given as examplesand should not be limiting to the present invention. Other solutions,uses, objectives, and functions within the scope of the invention asclaimed in the below described patent claims should be apparent for theperson skilled in the art.

TABLE 1 Number of Metric Calculations Required for Different algorithms(all numbers approximate) 16QAM 64QAM 256QAM Brute-force ML 65000  1.7 ·10⁷ 4.3 · 10⁹ LOGMAX m-algorithm, 64 1000 4000 16000 paths kept at eachstage* Proposed QAM  600 11000    2 · 10⁵ LOGMAX**    (10***)    (40***)*Values indicate number of complete metrics calculated. In addition,several partial metrics that are calculated in intermediate stages ofthe m-algorithm, but disposed of before the final stage. Note that thisnumber assumes simplified soft value generation. **Values are averagenumber of calculated metrics, as determined from simulations withindependent Rayleigh fading channels. In addition, a number ofcomparison operations and additions are required (e.g. about 1000 realadditions for 16QAM). ***Numbers within parentheses refer to case whenonly hard output bits are required. (For normal ML LOGMAX and for them-algorithm with the highly simplified soft value generation schemeconsidered here, the same number of metrics as in the soft bit caseapply also with hard bits only.)

From an implementation point of view not only computational complexitybut also memory requirements are important. Because of thepre-calculations, the method requires a certain amount of memory. Ifimplemented in accordance with the description for efficient computationof f above, the method requires for M=4 a memory of

-   -   4L²(√{square root over (L)}−1) integers (log₂L bits each) in        main lookup table    -   4L^(3/2) floating point numbers in main lookup table

For 16 QAM, 64 QAM, 256 QAM this corresponds to approximately the memorylisted in Table 2.

TABLE 2 Memory Requirements for 4 × 4 MIMO (approximate) 16QAM 64QAM256QAM Integers (log₂L 3000 1 · 10⁵ 4 · 10⁶ bits each) Floating point350 2000 16000 numbers

This implies that the amount of the memory required is reasonable.

1. A method for processing signals, especially a Maximum Likelihood (ML)demodulation of Quadrature Amplitude Modulation (QAM) signals, in adigital communications system, having a number of transmit antennastransmitting n_(T) symbols, the method comprising: a) using x_(m),denoting symbols transmitted, wherein m=1 . . . n_(T), b) given achannel, selecting i and j and making pre-calculations facilitatingfinding a best combination of X₁ . . . X_(i+1), X_(i+1) . . . X_(j−1),X_(j+1) . . . X_(nT) given X_(i), X_(j) and a received signal, c) goingthrough every combination X₁. . . X_(i−1), X_(i+1) . . . X_(j−1),X_(j+1) . . . X_(nT) and projecting in a number of directions for eachof said combinations and generating a list of candidate combinations ofX_(i) and X_(j) for each combination X₁ . . . X_(i−1), X_(i+1) . . .X_(j−1), X_(j+1) . . . X_(nT), and hence generating a list of candidatecombinations X₁ . . . X_(nt), and d) providing a maximum-likelihoodsymbol combination.
 2. The method of claim 1, further comprising thestep of calculating and comparing metrics of the candidate combinationsX₁ . . . X_(nt), after said step c.
 3. The method of claim 1, furthercomprising finding soft values for every bit in X₁ . . . X_(nt−1), abest sequence with a bit equal to 0 and a best sequence with a bit equalto 1, both in the list.
 4. The method according to claim 1, wherein alist of L^(nt−2) candidate combinations are generated, wherein, L is anumber of symbols in a symbol alphabet.
 5. The method of claim 1, forcomputing hard output bits, further comprising the steps of repeatingstep c for other i and j pairs, for each pair generating a list ofcandidate combinations X₁ . . . x_(nT), selecting candidate combinationsthat exist in all said lists, and calculating and comparing metrics forsaid selected candidate combinations.
 6. A method for processingsignals, especially a Maximum Likelihood (ML) demodulation of QuadratureAmplitude Modulation (QAM) signals, in a digital communications systemtransmitting 4 symbols, the method comprising: a) using X₁, x₂, X₃, X₄denoting symbols transmitted, b) given a channel, selecting two i and jwherein i and j assume a number between 1 to 4 and i≠j, and makingpre-calculations facilitating finding a best combination of symbolstransmitted for any given x_(i)- and x_(j) and a received signal, c)going through every combination of symbols transmitted and projecting ina number of directions for each of said combinations and generating alist of candidate combinations of symbols for each combination oftransmitted symbols, and hence generating a list of candidatecombinations Xi, X₂, X₃, X₄, d) calculating and comparing metrics of thecandidate combinations X₁, X₂, X₃, X₄, and e) providing amaximum-likelihood symbol combination.
 7. An network node arrangementfor processing signals, especially a Maximum Likelihood (ML)demodulation of Quadrature Amplitude Modulation (QAM) signals,connectable to a number of transmit antennas transmitting n_(T) symbols,wherein x_(m), denotes symbols transmitted, wherein m=1 . . . n_(T), thearrangement comprising: a computation arrangement for makingpre-calculations facilitating finding a best combination X₁ . . .X_(i−1), X_(i+1) . . . X_(j−1), X_(j+1) . . . X_(nT) for any givenX_(i), X_(j) and a received signal, processing means for analyzing everycombination X₁ . . . X_(i−1), X_(i+1) . . . X_(j−1), X_(j+1) . . .X_(nT) and making projections in a number of directions for each of saidcombinations and generating a list of candidate combinations of X₁ andX_(j) for each combination X₁ . . . X_(i−1), X_(i+1) . . . X_(j−1),X_(j+1) . . . X_(nT), and generating a list of candidate combinations X₁. . . x_(nT), storing means for storing said lists and means forcalculating and comparing metrics of the candidate combinations X₁ . . .x_(nT), an arrangement for providing a maximum-likelihood symbolcombination.
 8. The arrangement of claim 6, the network comprising oneof MIMO, MISO or SIMO antenna array.
 9. A register in a network node forstoring lists according to claim
 1. 10. A computer program product forprocessing signals, especially a Maximum Likelihood (ML) demodulation ofQuadrature Amplitude Modulation (QAM) signals, in a digitalcommunications system, having a number of transmit antennas transmittingn_(T) symbols and x_(m), denotes symbols transmitted, wherein m=1 . . .nT, the product comprising: a set of instructions for executingpre-calculations facilitating finding a best combination of X₁ . . .X_(i−1), X_(i+1) . . . X_(j−1), X_(j+1) . . . X_(nT) for any givenX_(i), X_(j) and a received signal, a set of instructions for analyzingevery combination X₁ . . . X_(i−1), X_(i+1) . . . X_(j−1), X_(j+1) . . .X_(nT) and making projections in a number of directions for each of saidcombinations and generating a list of candidate combinations of x, andX_(j) for each combination X₁ . . . X_(i−1), X_(i+1) . . . X_(j−1),X_(j+1) . . . X_(nT) and generating a list of candidate combinations X₁. . . X_(nt), a set of instructions for calculating and comparingmetrics of the candidate combinations X₁ . . . x_(nT), and providing amaximum-likelihood symbol combination.
 11. A user equipment having anarrangement for processing signals, especially a Maximum Likelihood (ML)demodulation of Quadrature Amplitude Modulation (QAM) signals,connectable to a number of antennas for transmitting n_(T) symbols,wherein x_(m), denotes symbols transmitted, wherein m=1 . . . n_(T), thearrangement comprising: a computation arrangement for makingpre-calculations facilitating finding a best combination of X₁ . . .X_(i−1), X_(i+1) . . . X_(j−1), X_(j+1) . . . X_(nT) for any givenX_(i), X_(j) and a received signal, processing means for analyzing everycombination X₁ . . . X_(i−1), X_(j+1) . . . X_(j−1), X_(j+1) . . .X_(nT) and making projections in a number of directions for each of saidcombinations and generating a list of candidate combinations of X_(i),and X_(j) for each combination X₁ . . . X_(i−1), X_(i+1) . . . X_(j−1),X_(j+1) . . . X_(nT), and generating a list of candidate combinations X₁. . . X_(nT), storing means for storing said lists and means forcalculating and comparing metrics of the candidate combinations X₁ . . .x_(nT), an arrangement for providing a maximum-likelihood symbolcombination.